/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

分布式云物理服务器
分布式云物理服务器地域操作相关的接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef EdcpsApiModel_h
#define EdcpsApiModel_h
#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKCommon/JDCloudOCSDKCommon.h>
#import <JDCloudOCSDKEdcps/EdcpsModel.h>


@interface EdcpsDeleteAliasIpRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 别名IP ID
@property (strong,nonatomic,nonnull)  NSString*  aliasIpId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
aliasIpId:(NSString*)aliasIpId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
aliasIpId:(NSString*)aliasIpId;

@end

@interface EdcpsDescribeAliasIpsRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;
/// 实例ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
/// CIDR段，模糊搜索
@property (strong,nonatomic,nonnull)  NSString*  cidr;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
subnetId:(NSString*)subnetId
instanceId:(NSString*)instanceId
cidr:(NSString*)cidr;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
subnetId:(NSString*)subnetId
instanceId:(NSString*)instanceId
cidr:(NSString*)cidr;

@end

@interface EdcpsDeleteAliasIpResult : NSObject
/// 删除操作是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsModifySubnetRequest:JDCloudRequest

/// 名称
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
subnetId:(NSString*)subnetId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
subnetId:(NSString*)subnetId;

@end

@interface EdcpsDescribeSubnetRequest:JDCloudRequest

/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;
-(id) initWithRegion:(NSString *)regionId
subnetId:(NSString*)subnetId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetId:(NSString*)subnetId;

@end

@interface EdcpsDeleteSubnetResult : NSObject
/// 删除操作是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsDeleteSubnetRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
subnetId:(NSString*)subnetId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
subnetId:(NSString*)subnetId;

@end

@interface EdcpsCreateSubnetResult : NSObject
/// 子网ID
 @property (strong,nonatomic,nonnull)  NSString*  subnetId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSubnetId:(NSString*) subnetId;
@end

@interface EdcpsDeleteelasticIpRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 弹性公网IPID
@property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId;

@end

@interface EdcpsModifyElasticIpBandwidthRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 带宽，单位Mbps，取值范围[1,10240]
@property (strong,nonatomic,nonnull)  NSNumber*  bandwidth;
/// 额外上行带宽，单位Mbps，取值范围[0,10240]
@property (strong,nonatomic,nonnull)  NSNumber*  extraUplinkBandwidth;
/// 弹性公网IPID
@property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
bandwidth:(NSNumber*)bandwidth
extraUplinkBandwidth:(NSNumber*)extraUplinkBandwidth
elasticIpId:(NSString*)elasticIpId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
bandwidth:(NSNumber*)bandwidth
extraUplinkBandwidth:(NSNumber*)extraUplinkBandwidth
elasticIpId:(NSString*)elasticIpId;

@end

@interface EdcpsDescribeElasticIpStockResult : NSObject
/// 地域
 @property (strong,nonatomic,nonnull)  NSString*  region;
/// 可用弹性公网IP库存
 @property (strong,nonatomic,nonnull)  NSNumber*  available;
/// 可用带宽库存
 @property (strong,nonatomic,nonnull)  NSNumber*  availableBandwidth;
/// 可用额外上行带宽库存
 @property (strong,nonatomic,nonnull)  NSNumber*  availableExtraUplinkBandwidth;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithRegion:(NSString*) region

    available:(NSNumber*)available

    availableBandwidth:(NSNumber*)availableBandwidth

    availableExtraUplinkBandwidth:(NSNumber*)availableExtraUplinkBandwidth;
@end

@interface EdcpsModifyElasticIpBandwidthResult : NSObject
/// 修改带宽是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsDeleteelasticIpResult : NSObject
/// 删除操作是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsApplyElasticIpsResult : NSObject
/// ElasticIpIds
 @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  elasticIpIds;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithElasticIpIds:(NSArray<NSString*>*) elasticIpIds;
@end

@interface EdcpsDescribeElasticIpRequest:JDCloudRequest

/// 弹性公网IPID
@property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId;

@end

@interface EdcpsCreateKeypairsResult : NSObject
/// 密钥对id
 @property (strong,nonatomic,nonnull)  NSString*  keypairId;
/// 地域
 @property (strong,nonatomic,nonnull)  NSString*  region;
/// 密钥对名称
 @property (strong,nonatomic,nonnull)  NSString*  name;
/// 公钥
 @property (strong,nonatomic,nonnull)  NSString*  publicKey;
/// 指纹
 @property (strong,nonatomic,nonnull)  NSString*  fingerPrint;
/// 创建时间
 @property (strong,nonatomic,nonnull)  NSString*  createTime;
/// 更新时间
 @property (strong,nonatomic,nonnull)  NSString*  updateTime;
/// 私钥
 @property (strong,nonatomic,nonnull)  NSString*  privateKey;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithKeypairId:(NSString*) keypairId

    region:(NSString*)region

    name:(NSString*)name

    publicKey:(NSString*)publicKey

    fingerPrint:(NSString*)fingerPrint

    createTime:(NSString*)createTime

    updateTime:(NSString*)updateTime

    privateKey:(NSString*)privateKey;
@end

@interface EdcpsDescribeKeypairRequest:JDCloudRequest

/// 密钥对ID
@property (strong,nonatomic,nonnull)  NSString*  keypairId;
-(id) initWithRegion:(NSString *)regionId
keypairId:(NSString*)keypairId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keypairId:(NSString*)keypairId;

@end

@interface EdcpsImportKeypairsRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 密钥对名称
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 公钥
@property (strong,nonatomic,nonnull)  NSString*  publicKey;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
name:(NSString*)name
publicKey:(NSString*)publicKey;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
name:(NSString*)name
publicKey:(NSString*)publicKey;

@end

@interface EdcpsCreateKeypairsRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 密钥对名称
@property (strong,nonatomic,nonnull)  NSString*  name;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
name:(NSString*)name;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
name:(NSString*)name;

@end

@interface EdcpsDeleteKeypairsResult : NSObject
/// 删除操作是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsImportKeypairsResult : NSObject
/// 密钥对id
 @property (strong,nonatomic,nonnull)  NSString*  keypairId;
/// 地域
 @property (strong,nonatomic,nonnull)  NSString*  region;
/// 密钥对名称
 @property (strong,nonatomic,nonnull)  NSString*  name;
/// 公钥
 @property (strong,nonatomic,nonnull)  NSString*  publicKey;
/// 指纹
 @property (strong,nonatomic,nonnull)  NSString*  fingerPrint;
/// 创建时间
 @property (strong,nonatomic,nonnull)  NSString*  createTime;
/// 更新时间
 @property (strong,nonatomic,nonnull)  NSString*  updateTime;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithKeypairId:(NSString*) keypairId

    region:(NSString*)region

    name:(NSString*)name

    publicKey:(NSString*)publicKey

    fingerPrint:(NSString*)fingerPrint

    createTime:(NSString*)createTime

    updateTime:(NSString*)updateTime;
@end

@interface EdcpsDeleteKeypairsRequest:JDCloudRequest

/// 密钥对ID
@property (strong,nonatomic,nonnull)  NSString*  keypairId;
-(id) initWithRegion:(NSString *)regionId
keypairId:(NSString*)keypairId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keypairId:(NSString*)keypairId;

@end

@interface EdcpsDeleteSecondaryCidrRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 次要CIDR ID
@property (strong,nonatomic,nonnull)  NSString*  secondaryCidrId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
secondaryCidrId:(NSString*)secondaryCidrId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
secondaryCidrId:(NSString*)secondaryCidrId;

@end

@interface EdcpsDeleteSecondaryCidrResult : NSObject
/// 删除操作是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsCreateSecondaryCidrResult : NSObject
/// 次要cidr的ID
 @property (strong,nonatomic,nonnull)  NSString*  secondaryCidrId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSecondaryCidrId:(NSString*) secondaryCidrId;
@end

@interface EdcpsDescribeSecondaryCidrsRequest:JDCloudRequest

/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;
-(id) initWithRegion:(NSString *)regionId
subnetId:(NSString*)subnetId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
subnetId:(NSString*)subnetId;

@end

@interface EdcpsDescribeInstanceStatusResult : NSObject
/// CPU状态是否正常
 @property (strong,nonatomic,nonnull)  NSNumber*  cpus;
/// 内存状态是否正常
 @property (strong,nonatomic,nonnull)  NSNumber*  mems;
/// 硬盘状态是否正常
 @property (strong,nonatomic,nonnull)  NSNumber*  disks;
/// 网卡状态是否正常
 @property (strong,nonatomic,nonnull)  NSNumber*  nics;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCpus:(NSNumber*) cpus

    mems:(NSNumber*)mems

    disks:(NSNumber*)disks

    nics:(NSNumber*)nics;
@end

@interface EdcpsDescribeDeviceTypesRequest:JDCloudRequest

/// 可用区，精确匹配
@property (strong,nonatomic,nonnull)  NSString*  az;
-(id) initWithRegion:(NSString *)regionId
az:(NSString*)az;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
az:(NSString*)az;

@end

@interface EdcpsResetPasswordResult : NSObject
/// 重置结果
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsStopInstanceRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId;

@end

@interface EdcpsStartInstanceResult : NSObject
/// 开机操作是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsDescribeAvailablePrivateIpRequest:JDCloudRequest

/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface EdcpsDescribeInstanceRequest:JDCloudRequest

/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface EdcpsDisassociateElasticIpRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 弹性公网IPId
@property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId;

@end

@interface EdcpsDescribeInstanceStatusRequest:JDCloudRequest

/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface EdcpsDescribeInstanceNameResult : NSObject
/// 分布式云物理服务器名称
 @property (strong,nonatomic,nonnull)  NSString*  name;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithName:(NSString*) name;
@end

@interface EdcpsModifyInstanceRequest:JDCloudRequest

/// 分布式云物理服务器名称
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 分布式云物理服务器描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
instanceId:(NSString*)instanceId;

@end

@interface EdcpsDescribeInstanceRaidRequest:JDCloudRequest

/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface EdcpsDescribeOSRequest:JDCloudRequest

/// 实例类型，可调用接口（describeDeviceTypes）获取指定地域的实例类型，例如：edcps.c.normal1
@property (strong,nonatomic,nonnull)  NSString*  deviceType;
/// 操作系统类型，取值范围：CentOS、Ubuntu
@property (strong,nonatomic,nonnull)  NSString*  osType;
-(id) initWithRegion:(NSString *)regionId
deviceType:(NSString*)deviceType
osType:(NSString*)osType;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
deviceType:(NSString*)deviceType
osType:(NSString*)osType;

@end

@interface EdcpsCreateInstancesResult : NSObject
/// InstanceIds
 @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  instanceIds;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceIds:(NSArray<NSString*>*) instanceIds;
@end

@interface EdcpsDescribeInstanceRaidResult : NSObject
/// 系统盘RAID类型ID
 @property (strong,nonatomic,nonnull)  NSString*  sysRaidTypeId;
/// 系统盘RAID类型
 @property (strong,nonatomic,nonnull)  NSString*  sysRaidType;
/// 数据盘RAID类型ID
 @property (strong,nonatomic,nonnull)  NSString*  dataRaidTypeId;
/// 数据盘RAID类型
 @property (strong,nonatomic,nonnull)  NSString*  dataRaidType;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSysRaidTypeId:(NSString*) sysRaidTypeId

    sysRaidType:(NSString*)sysRaidType

    dataRaidTypeId:(NSString*)dataRaidTypeId

    dataRaidType:(NSString*)dataRaidType;
@end

@interface EdcpsResetPasswordRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 密码
@property (strong,nonatomic,nonnull)  NSString*  password;
/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
password:(NSString*)password
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
password:(NSString*)password
instanceId:(NSString*)instanceId;

@end

@interface EdcpsRestartInstanceResult : NSObject
/// 重启操作是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsReinstallInstanceResult : NSObject
/// 重装操作是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsRestartInstanceRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId;

@end

@interface EdcpsDeleteInstanceRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId;

@end

@interface EdcpsAssociateElasticIpRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 弹性公网IPID
@property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
/// 私有IP
@property (strong,nonatomic,nonnull)  NSString*  targetIp;
/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId
targetIp:(NSString*)targetIp
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
elasticIpId:(NSString*)elasticIpId
targetIp:(NSString*)targetIp
instanceId:(NSString*)instanceId;

@end

@interface EdcpsStopInstanceResult : NSObject
/// 关机操作是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsModifyInstanceResult : NSObject
/// 分布式云物理服务器名称
 @property (strong,nonatomic,nonnull)  NSString*  name;
/// 分布式云物理服务器描述
 @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithName:(NSString*) name

    descriptionValue:(NSString*)descriptionValue;
@end

@interface EdcpsDisassociateElasticIpResult : NSObject
/// 解绑结果
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsDescribeDeviceRaidsRequest:JDCloudRequest

/// 实例类型，可调用（describeDeviceTypes）接口获取指定地域的实例类型，例如：edcps.c.normal1
@property (strong,nonatomic,nonnull)  NSString*  deviceType;
/// 磁盘类型，取值范围：system、data
@property (strong,nonatomic,nonnull)  NSString*  volumeType;
-(id) initWithRegion:(NSString *)regionId
deviceType:(NSString*)deviceType
volumeType:(NSString*)volumeType;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
deviceType:(NSString*)deviceType
volumeType:(NSString*)volumeType;

@end

@interface EdcpsDescribeDeviceStockRequest:JDCloudRequest

/// 实例类型，调用接口（describeDeviceTypes）获取实例类型
@property (strong,nonatomic,nonnull)  NSString*  deviceType;
-(id) initWithRegion:(NSString *)regionId
deviceType:(NSString*)deviceType;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
deviceType:(NSString*)deviceType;

@end

@interface EdcpsDeleteInstanceResult : NSObject
/// 删除操作是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsStartInstanceRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceId:(NSString*)instanceId;

@end

@interface EdcpsDescribeInstanceNameRequest:JDCloudRequest

/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId;

@end

@interface EdcpsAssociateElasticIpResult : NSObject
/// 绑定结果
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsCreateVpcResult : NSObject
/// 私有网络ID
 @property (strong,nonatomic,nonnull)  NSString*  vpcId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithVpcId:(NSString*) vpcId;
@end

@interface EdcpsDeleteVpcResult : NSObject
/// 删除操作是否成功
 @property (strong,nonatomic,nonnull)  NSNumber*  success;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccess:(NSNumber*) success;
@end

@interface EdcpsDeleteVpcRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 私有网络ID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
vpcId:(NSString*)vpcId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
vpcId:(NSString*)vpcId;

@end

@interface EdcpsModifyVpcRequest:JDCloudRequest

/// 名称
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 描述
@property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
/// 私有网络ID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
vpcId:(NSString*)vpcId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
vpcId:(NSString*)vpcId;

@end

@interface EdcpsDescribeVpcRequest:JDCloudRequest

/// 私有网络ID
@property (strong,nonatomic,nonnull)  NSString*  vpcId;
-(id) initWithRegion:(NSString *)regionId
vpcId:(NSString*)vpcId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
vpcId:(NSString*)vpcId;

@end

@interface EdcpsDescribeAliasIpsResult : NSObject
/// AliasIps
 @property (strong,nonatomic,nonnull)  NSArray<AliasIp*>*  aliasIps;
/// 页码；默认为1
 @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
 @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 查询结果总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithAliasIps:(NSArray<AliasIp*>*) aliasIps

    pageNumber:(NSNumber*)pageNumber

    pageSize:(NSNumber*)pageSize

    totalCount:(NSNumber*)totalCount;
@end

@interface EdcpsCreateAliasIpRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 别名IP配置
@property (strong,nonatomic,nonnull)  AliasIpSpec*  aliasIpSpec;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
aliasIpSpec:(AliasIpSpec*)aliasIpSpec;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
aliasIpSpec:(AliasIpSpec*)aliasIpSpec;

@end

@interface EdcpsCreateAliasIpResult : NSObject
/// SuccessList
 @property (strong,nonatomic,nonnull)  NSArray<AliasIpSuccessInfo*>*  successList;
/// ErrorList
 @property (strong,nonatomic,nonnull)  NSArray<AliasIpErrorInfo*>*  errorList;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSuccessList:(NSArray<AliasIpSuccessInfo*>*) successList

    errorList:(NSArray<AliasIpErrorInfo*>*)errorList;
@end

@interface EdcpsCreateAliasIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsCreateAliasIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsCreateAliasIpResult*) result;
@end

@interface EdcpsDescribeAliasIpsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeAliasIpsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeAliasIpsResult*) result;
@end

@interface EdcpsDeleteAliasIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDeleteAliasIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDeleteAliasIpResult*) result;
@end

@interface EdcpsCreateSubnetResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsCreateSubnetResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsCreateSubnetResult*) result;
@end

@interface EdcpsDescribeSubnetResult : NSObject
/// 子网详细信息
 @property (strong,nonatomic,nonnull)  Subnet*  subnet;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSubnet:(Subnet*) subnet;
@end

@interface EdcpsModifySubnetResult : NSObject
/// 子网详细信息
 @property (strong,nonatomic,nonnull)  Subnet*  subnet;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSubnet:(Subnet*) subnet;
@end

@interface EdcpsCreateSubnetRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 子网配置
@property (strong,nonatomic,nonnull)  SubnetSpec*  subnetSpec;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
subnetSpec:(SubnetSpec*)subnetSpec;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
subnetSpec:(SubnetSpec*)subnetSpec;

@end

@interface EdcpsModifySubnetResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsModifySubnetResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsModifySubnetResult*) result;
@end

@interface EdcpsDeleteSubnetResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDeleteSubnetResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDeleteSubnetResult*) result;
@end

@interface EdcpsDescribeSubnetResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeSubnetResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeSubnetResult*) result;
@end

@interface EdcpsDescribeSubnetsRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 可用区，精确匹配
@property (strong,nonatomic,nonnull)  NSString*  az;
/// 子网名称
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 私有网络ID，精确匹配
@property (strong,nonatomic,nonnull)  NSString*  vpcId;
/// subnetId - 子网ID，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
az:(NSString*)az
name:(NSString*)name
vpcId:(NSString*)vpcId
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
az:(NSString*)az
name:(NSString*)name
vpcId:(NSString*)vpcId
filters:(NSArray<Filter*>*)filters;

@end

@interface EdcpsDescribeSubnetsResult : NSObject
/// Subnets
 @property (strong,nonatomic,nonnull)  NSArray<Subnet*>*  subnets;
/// 页码；默认为1
 @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
 @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 查询结果总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSubnets:(NSArray<Subnet*>*) subnets

    pageNumber:(NSNumber*)pageNumber

    pageSize:(NSNumber*)pageSize

    totalCount:(NSNumber*)totalCount;
@end

@interface EdcpsDescribeSubnetsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeSubnetsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeSubnetsResult*) result;
@end

@interface EdcpsDescribeElasticIpStockResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeElasticIpStockResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeElasticIpStockResult*) result;
@end

@interface EdcpsDeleteelasticIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDeleteelasticIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDeleteelasticIpResult*) result;
@end

@interface EdcpsDescribeElasticIpsRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 弹性公网IP状态，取值范围：associate、disassociate
@property (strong,nonatomic,nonnull)  NSString*  status;
/// elasticIpId - 弹性公网IPID，精确匹配，支持多个&lt;br/&gt;
   /// elasticIp - 弹性公网IP，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
status:(NSString*)status
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
status:(NSString*)status
filters:(NSArray<Filter*>*)filters;

@end

@interface EdcpsApplyElasticIpsRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 弹性公网IP配置
@property (strong,nonatomic,nonnull)  ElasticIpSpec*  elasticIpSpec;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
elasticIpSpec:(ElasticIpSpec*)elasticIpSpec;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
elasticIpSpec:(ElasticIpSpec*)elasticIpSpec;

@end

@interface EdcpsDescribeElasticIpResult : NSObject
/// 弹性公网IP详细信息
 @property (strong,nonatomic,nonnull)  ElasticIp*  elasticIp;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithElasticIp:(ElasticIp*) elasticIp;
@end

@interface EdcpsDescribeElasticIpsResult : NSObject
/// ElasticIps
 @property (strong,nonatomic,nonnull)  NSArray<ElasticIp*>*  elasticIps;
/// 页码；默认为1
 @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
 @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 查询结果总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithElasticIps:(NSArray<ElasticIp*>*) elasticIps

    pageNumber:(NSNumber*)pageNumber

    pageSize:(NSNumber*)pageSize

    totalCount:(NSNumber*)totalCount;
@end

@interface EdcpsModifyElasticIpBandwidthResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsModifyElasticIpBandwidthResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsModifyElasticIpBandwidthResult*) result;
@end

@interface EdcpsDescribeElasticIpsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeElasticIpsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeElasticIpsResult*) result;
@end

@interface EdcpsDescribeElasticIpStockRequest:JDCloudRequest

@end

@interface EdcpsDescribeElasticIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeElasticIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeElasticIpResult*) result;
@end

@interface EdcpsApplyElasticIpsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsApplyElasticIpsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsApplyElasticIpsResult*) result;
@end

@interface EdcpsDescribeLineTypesResult : NSObject
/// LineTypes
 @property (strong,nonatomic,nonnull)  NSArray<LineType*>*  lineTypes;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithLineTypes:(NSArray<LineType*>*) lineTypes;
@end

@interface EdcpsDescribeLineTypesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeLineTypesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeLineTypesResult*) result;
@end

@interface EdcpsDescribeLineTypesRequest:JDCloudRequest

@end

@interface EdcpsCreateKeypairsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsCreateKeypairsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsCreateKeypairsResult*) result;
@end

@interface EdcpsDescribeKeypairResult : NSObject
/// 密钥对详细信息
 @property (strong,nonatomic,nonnull)  Keypair*  server;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithServer:(Keypair*) server;
@end

@interface EdcpsDescribeKeypairResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeKeypairResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeKeypairResult*) result;
@end

@interface EdcpsDescribeKeypairsRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 密钥对名称
@property (strong,nonatomic,nonnull)  NSString*  name;
/// keypairId  - 密钥对ID，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
name:(NSString*)name
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
name:(NSString*)name
filters:(NSArray<Filter*>*)filters;

@end

@interface EdcpsDescribeKeypairsResult : NSObject
/// Servers
 @property (strong,nonatomic,nonnull)  NSArray<Keypair*>*  servers;
/// 页码；默认为1
 @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
 @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 查询结果总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithServers:(NSArray<Keypair*>*) servers

    pageNumber:(NSNumber*)pageNumber

    pageSize:(NSNumber*)pageSize

    totalCount:(NSNumber*)totalCount;
@end

@interface EdcpsDescribeKeypairsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeKeypairsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeKeypairsResult*) result;
@end

@interface EdcpsDeleteKeypairsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDeleteKeypairsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDeleteKeypairsResult*) result;
@end

@interface EdcpsImportKeypairsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsImportKeypairsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsImportKeypairsResult*) result;
@end

@interface EdcpsDescribeSecondaryCidrsResult : NSObject
/// SecondaryCidrs
 @property (strong,nonatomic,nonnull)  NSArray<SecondaryCidr*>*  secondaryCidrs;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSecondaryCidrs:(NSArray<SecondaryCidr*>*) secondaryCidrs;
@end

@interface EdcpsDeleteSecondaryCidrResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDeleteSecondaryCidrResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDeleteSecondaryCidrResult*) result;
@end

@interface EdcpsCreateSecondaryCidrResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsCreateSecondaryCidrResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsCreateSecondaryCidrResult*) result;
@end

@interface EdcpsCreateSecondaryCidrRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 次要cidr配置
@property (strong,nonatomic,nonnull)  SecondaryCidrSpec*  secondaryCidrSpec;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
secondaryCidrSpec:(SecondaryCidrSpec*)secondaryCidrSpec;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
secondaryCidrSpec:(SecondaryCidrSpec*)secondaryCidrSpec;

@end

@interface EdcpsDescribeSecondaryCidrsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeSecondaryCidrsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeSecondaryCidrsResult*) result;
@end

@interface EdcpsDescribeOSResult : NSObject
/// Oss
 @property (strong,nonatomic,nonnull)  NSArray<Os*>*  oss;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithOss:(NSArray<Os*>*) oss;
@end

@interface EdcpsDescribeOSResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeOSResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeOSResult*) result;
@end

@interface EdcpsDescribeInstancesResult : NSObject
/// Instances
 @property (strong,nonatomic,nonnull)  NSArray<Instance*>*  instances;
/// 页码；默认为1
 @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
 @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 查询结果总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstances:(NSArray<Instance*>*) instances

    pageNumber:(NSNumber*)pageNumber

    pageSize:(NSNumber*)pageSize

    totalCount:(NSNumber*)totalCount;
@end

@interface EdcpsDescribeDeviceTypesResult : NSObject
/// DeviceTypes
 @property (strong,nonatomic,nonnull)  NSArray<DeviceType*>*  deviceTypes;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDeviceTypes:(NSArray<DeviceType*>*) deviceTypes;
@end

@interface EdcpsDescribeDeviceTypesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeDeviceTypesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeDeviceTypesResult*) result;
@end

@interface EdcpsDescribeInstanceResult : NSObject
/// Instance
 @property (strong,nonatomic,nonnull)  Instance*  instance;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstance:(Instance*) instance;
@end

@interface EdcpsReinstallInstanceRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 分布式云物理服务器配置
@property (strong,nonatomic,nonnull)  ReinstallInstanceSpec*  instanceSpec;
/// 分布式云物理服务器ID
@property (strong,nonatomic,nonnull)  NSString*  instanceId;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceSpec:(ReinstallInstanceSpec*)instanceSpec
instanceId:(NSString*)instanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceSpec:(ReinstallInstanceSpec*)instanceSpec
instanceId:(NSString*)instanceId;

@end

@interface EdcpsStopInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsStopInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsStopInstanceResult*) result;
@end

@interface EdcpsCreateInstancesRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 描述分布式云物理服务器配置
@property (strong,nonatomic,nonnull)  InstanceSpec*  instanceSpec;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
instanceSpec:(InstanceSpec*)instanceSpec;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
instanceSpec:(InstanceSpec*)instanceSpec;

@end

@interface EdcpsDescribeDeviceRaidsResult : NSObject
/// Raids
 @property (strong,nonatomic,nonnull)  NSArray<Raid*>*  raids;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithRaids:(NSArray<Raid*>*) raids;
@end

@interface EdcpsDescribeDeviceRaidsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeDeviceRaidsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeDeviceRaidsResult*) result;
@end

@interface EdcpsDescribeDeviceStockResult : NSObject
/// DevicesStock
 @property (strong,nonatomic,nonnull)  NSArray<ResourceStock*>*  devicesStock;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDevicesStock:(NSArray<ResourceStock*>*) devicesStock;
@end

@interface EdcpsDescribeDeviceStockResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeDeviceStockResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeDeviceStockResult*) result;
@end

@interface EdcpsDisassociateElasticIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDisassociateElasticIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDisassociateElasticIpResult*) result;
@end

@interface EdcpsDescribeInstancesRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 可用区，精确匹配
@property (strong,nonatomic,nonnull)  NSString*  az;
/// 分布式云物理服务器名称，支持模糊匹配
@property (strong,nonatomic,nonnull)  NSString*  name;
/// 网络类型，精确匹配，支持vpc
@property (strong,nonatomic,nonnull)  NSString*  networkType;
/// 实例类型，精确匹配，调用接口（describeDeviceTypes）获取实例类型
@property (strong,nonatomic,nonnull)  NSString*  deviceType;
/// 子网ID
@property (strong,nonatomic,nonnull)  NSString*  subnetId;
/// 是否启用外网, yes/no
@property (strong,nonatomic,nonnull)  NSString*  enableInternet;
/// 密钥对id
@property (strong,nonatomic,nonnull)  NSString*  keypairId;
/// instanceId - 分布式云物理服务器ID，精确匹配，支持多个&lt;br/&gt;
   /// privateIp - 分布式云物理服务器内网IP，精确匹配，支持多个&lt;br/&gt;
   /// status - 分布式云物理服务器状态，参考分布式云物理服务器状态，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
az:(NSString*)az
name:(NSString*)name
networkType:(NSString*)networkType
deviceType:(NSString*)deviceType
subnetId:(NSString*)subnetId
enableInternet:(NSString*)enableInternet
keypairId:(NSString*)keypairId
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
az:(NSString*)az
name:(NSString*)name
networkType:(NSString*)networkType
deviceType:(NSString*)deviceType
subnetId:(NSString*)subnetId
enableInternet:(NSString*)enableInternet
keypairId:(NSString*)keypairId
filters:(NSArray<Filter*>*)filters;

@end

@interface EdcpsRestartInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsRestartInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsRestartInstanceResult*) result;
@end

@interface EdcpsDescribeInstanceStatusResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeInstanceStatusResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeInstanceStatusResult*) result;
@end

@interface EdcpsDescribeInstanceNameResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeInstanceNameResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeInstanceNameResult*) result;
@end

@interface EdcpsAssociateElasticIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsAssociateElasticIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsAssociateElasticIpResult*) result;
@end

@interface EdcpsReinstallInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsReinstallInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsReinstallInstanceResult*) result;
@end

@interface EdcpsDescribeAvailablePrivateIpResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface EdcpsDescribeInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeInstanceResult*) result;
@end

@interface EdcpsCreateInstancesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsCreateInstancesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsCreateInstancesResult*) result;
@end

@interface EdcpsDeleteInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDeleteInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDeleteInstanceResult*) result;
@end

@interface EdcpsModifyInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsModifyInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsModifyInstanceResult*) result;
@end

@interface EdcpsDescribeInstanceRaidResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeInstanceRaidResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeInstanceRaidResult*) result;
@end

@interface EdcpsResetPasswordResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsResetPasswordResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsResetPasswordResult*) result;
@end

@interface EdcpsDescribeInstancesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeInstancesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeInstancesResult*) result;
@end

@interface EdcpsStartInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsStartInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsStartInstanceResult*) result;
@end

@interface EdcpsDescribeAvailablePrivateIpResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeAvailablePrivateIpResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeAvailablePrivateIpResult*) result;
@end

@interface EdcpsDescribeVpcsResult : NSObject
/// Vpcs
 @property (strong,nonatomic,nonnull)  NSArray<Vpc*>*  vpcs;
/// 页码；默认为1
 @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
 @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 查询结果总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithVpcs:(NSArray<Vpc*>*) vpcs

    pageNumber:(NSNumber*)pageNumber

    pageSize:(NSNumber*)pageSize

    totalCount:(NSNumber*)totalCount;
@end

@interface EdcpsDescribeVpcsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeVpcsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeVpcsResult*) result;
@end

@interface EdcpsModifyVpcResult : NSObject
/// 私有网络详细信息
 @property (strong,nonatomic,nonnull)  Vpc*  vpc;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithVpc:(Vpc*) vpc;
@end

@interface EdcpsModifyVpcResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsModifyVpcResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsModifyVpcResult*) result;
@end

@interface EdcpsDescribeVpcResult : NSObject
/// 私有网络详细信息
 @property (strong,nonatomic,nonnull)  Vpc*  vpc;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithVpc:(Vpc*) vpc;
@end

@interface EdcpsDescribeVpcsRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为20；取值范围[20, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 私有网络名称
@property (strong,nonatomic,nonnull)  NSString*  name;
/// vpcId - 私有网络ID，精确匹配，支持多个
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
name:(NSString*)name
filters:(NSArray<Filter*>*)filters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
name:(NSString*)name
filters:(NSArray<Filter*>*)filters;

@end

@interface EdcpsCreateVpcRequest:JDCloudRequest

/// 由客户端生成，用于保证请求的幂等性，长度不能超过36个字符；&lt;br/&gt;
   /// 如果多个请求使用了相同的clientToken，只会执行第一个请求，之后的请求直接返回第一个请求的结果&lt;br/&gt;
   /// 
@property (strong,nonatomic,nonnull)  NSString*  clientToken;
/// 子网配置
@property (strong,nonatomic,nonnull)  VpcSpec*  vpcSpec;
-(id) initWithRegion:(NSString *)regionId
clientToken:(NSString*)clientToken
vpcSpec:(VpcSpec*)vpcSpec;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
clientToken:(NSString*)clientToken
vpcSpec:(VpcSpec*)vpcSpec;

@end

@interface EdcpsCreateVpcResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsCreateVpcResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsCreateVpcResult*) result;
@end

@interface EdcpsDeleteVpcResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDeleteVpcResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDeleteVpcResult*) result;
@end

@interface EdcpsDescribeVpcResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeVpcResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeVpcResult*) result;
@end

@interface EdcpsDescribeEdCPSRegionsResult : NSObject
/// Regions
 @property (strong,nonatomic,nonnull)  NSArray<Region*>*  regions;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithRegions:(NSArray<Region*>*) regions;
@end

@interface EdcpsDescribeEdCPSRegionsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property EdcpsDescribeEdCPSRegionsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(EdcpsDescribeEdCPSRegionsResult*) result;
@end

@interface EdcpsDescribeEdCPSRegionsRequest:JDCloudRequest

@end

#endif /* EdcpsApiModel_h */
